<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>国庆嵊泗岛-崇明岛旅游行程规划</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif;
        }
        
        body {
            background: linear-gradient(135deg, #0a2a43 0%, #1a5a7a 100%);
            color: #f0f8ff;
            min-height: 100vh;
            padding: 20px;
            background-image: url('https://images.unsplash.com/photo-1574362848147-6ba62b8b6d15?q=80&w=2070&auto=format&fit=crop');
            background-size: cover;
            background-attachment: fixed;
            background-blend-mode: overlay;
            background-color: rgba(10, 42, 67, 0.85);
            position: relative;
        }
        
        body::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: radial-gradient(circle, transparent 20%, #0a1a2a 90%), 
                        linear-gradient(45deg, rgba(0, 50, 100, 0.1) 0%, rgba(0, 0, 0, 0.3) 100%);
            z-index: -1;
        }
        
        .container {
            max-width: 1200px;
            margin: 0 auto;
        }
        
        header {
            text-align: center;
            padding: 40px 20px;
            margin-bottom: 30px;
            position: relative;
        }
        
        .title {
            font-size: 3.2rem;
            color: #ffd700;
            text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
            margin-bottom: 10px;
            letter-spacing: 2px;
        }
        
        .subtitle {
            font-size: 1.4rem;
            color: #b8d4f0;
            max-width: 800px;
            margin: 0 auto 20px;
            line-height: 1.6;
        }
        
        .date-range {
            background: rgba(0, 80, 120, 0.6);
            display: inline-block;
            padding: 8px 25px;
            border-radius: 30px;
            font-size: 1.1rem;
            border: 1px solid #ffd700;
            box-shadow: 0 0 15px rgba(255, 215, 0, 0.3);
        }
        
        .plan-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 25px;
            margin: 40px 0;
        }
        
        .day-card {
            background: rgba(20, 40, 60, 0.8);
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6);
            transition: all 0.4s ease;
            border: 1px solid #2a6a9a;
            cursor: pointer;
            position: relative;
            height: 280px;
        }
        
        .day-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 40px rgba(255, 215, 0, 0.4);
            border-color: #ffd700;
        }
        
        .card-header {
            background: linear-gradient(90deg, #1a5a7a 0%, #2a8aba 100%);
            padding: 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 2px solid #ffd700;
        }
        
        .day-name {
            font-size: 1.8rem;
            color: #f5f5dc;
            font-weight: 600;
        }
        
        .date {
            background: rgba(255, 215, 0, 0.9);
            color: #1a3a5a;
            padding: 5px 15px;
            border-radius: 20px;
            font-weight: bold;
            font-size: 0.95rem;
        }
        
        .card-content {
            padding: 20px;
            height: calc(100% - 70px);
            display: flex;
            flex-direction: column;
        }
        
        .location {
            font-size: 1.4rem;
            color: #ffd700;
            margin-bottom: 15px;
            font-weight: 600;
        }
        
        .time {
            background: rgba(255, 215, 0, 0.15);
            display: inline-block;
            padding: 5px 12px;
            border-radius: 15px;
            font-size: 0.95rem;
            margin-bottom: 15px;
            border: 1px solid #ffd700;
        }
        
        .activity {
            font-size: 1.1rem;
            line-height: 1.5;
            color: #c9d8f0;
            flex-grow: 1;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        
        .view-details {
            color: #ffd700;
            font-size: 0.9rem;
            text-align: right;
            margin-top: 10px;
            font-style: italic;
        }
        
        /* 详细攻略样式 */
        .detail-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(5, 20, 35, 0.95);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 1000;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.4s ease;
        }
        
        .detail-overlay.active {
            opacity: 1;
            pointer-events: all;
        }
        
        .detail-content {
            background: linear-gradient(135deg, #0f2b45 0%, #1a4a6a 100%);
            width: 90%;
            max-width: 800px;
            max-height: 90vh;
            border-radius: 15px;
            overflow: hidden;
            border: 2px solid #ffd700;
            box-shadow: 0 0 40px rgba(255, 215, 0, 0.4);
            position: relative;
            transform: translateY(20px);
            transition: transform 0.5s ease;
        }
        
        .detail-overlay.active .detail-content {
            transform: translateY(0);
        }
        
        .detail-header {
            background: linear-gradient(90deg, #1a5a7a 0%, #2a8aba 100%);
            padding: 25px;
            position: relative;
        }
        
        .close-btn {
            position: absolute;
            top: 20px;
            right: 20px;
            background: #ffd700;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
            color: #1a3a5a;
            font-size: 1.2rem;
            transition: all 0.3s ease;
        }
        
        .close-btn:hover {
            transform: rotate(90deg);
            background: #fff8dc;
        }
        
        .detail-title {
            font-size: 2.2rem;
            color: #f5f5dc;
            margin-bottom: 5px;
        }
        
        .detail-subtitle {
            display: flex;
            gap: 15px;
            color: #e0e8f0;
            font-size: 1.1rem;
            flex-wrap: wrap;
        }
        
        .detail-body {
            padding: 30px;
            overflow-y: auto;
            max-height: 60vh;
        }
        
        .detail-section {
            margin-bottom: 30px;
        }
        
        .section-title {
            color: #ffd700;
            font-size: 1.5rem;
            margin-bottom: 15px;
            padding-bottom: 8px;
            border-bottom: 1px solid #ffd700;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        .section-title i {
            font-size: 1.2rem;
        }
        
        .detail-text {
            line-height: 1.8;
            color: #c9d8f0;
            font-size: 1.1rem;
            margin-bottom: 15px;
        }
        
        .timeline {
            margin: 20px 0;
        }
        
        .timeline-item {
            display: flex;
            margin-bottom: 15px;
            align-items: flex-start;
        }
        
        .timeline-time {
            background: rgba(255, 215, 0, 0.2);
            color: #ffd700;
            padding: 8px 15px;
            border-radius: 20px;
            font-weight: bold;
            min-width: 100px;
            text-align: center;
            border: 1px solid #ffd700;
        }
        
        .timeline-content {
            margin-left: 20px;
            flex: 1;
        }
        
        .timeline-content h4 {
            color: #ffd700;
            margin-bottom: 5px;
        }
        
        .tips-list {
            padding-left: 25px;
            margin: 15px 0;
        }
        
        .tips-list li {
            margin-bottom: 12px;
            line-height: 1.6;
        }
        
        .highlight {
            color: #ffd700;
            font-weight: 600;
        }
        
        .map-link {
            display: inline-block;
            background: rgba(255, 215, 0, 0.15);
            color: #ffd700;
            padding: 8px 20px;
            border-radius: 30px;
            text-decoration: none;
            margin-top: 10px;
            border: 1px solid #ffd700;
            transition: all 0.3s ease;
        }
        
        .map-link:hover {
            background: rgba(255, 215, 0, 0.3);
        }
        
        .detail-footer {
            padding: 20px 30px;
            background: rgba(10, 30, 50, 0.7);
            border-top: 1px solid #2a6a9a;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .rating {
            color: #ffd700;
            font-size: 1.1rem;
        }
        
        .rating i {
            margin-right: 3px;
        }
        
        .footer {
            text-align: center;
            padding: 40px 20px 20px;
            color: #8a9db0;
            font-size: 0.9rem;
            border-top: 1px solid #2a4a6a;
            margin-top: 30px;
        }
        
        @media (max-width: 768px) {
            .title {
                font-size: 2.5rem;
            }
            
            .subtitle {
                font-size: 1.1rem;
            }
            
            .plan-grid {
                grid-template-columns: 1fr;
                gap: 20px;
            }
            
            .detail-title {
                font-size: 1.8rem;
            }
            
            .detail-body {
                padding: 20px;
            }
            
            .detail-subtitle {
                flex-direction: column;
                gap: 5px;
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <header>
            <h1 class="title">国庆嵊泗岛-崇明岛旅游行程</h1>
            <p class="subtitle">精心规划的国庆海岛之旅，从上海南汇出发，途经嵊泗岛和崇明岛，最后从浦东机场返程，体验不一样的海岛风情。</p>
            <div class="date-range">2025年10月3日 - 10月6日</div>
        </header>
        
        <div class="plan-grid" id="planContainer">
            <!-- 计划卡片将由JavaScript生成 -->
        </div>
        
        <div class="detail-overlay" id="detailOverlay">
            <div class="detail-content">
                <div class="detail-header">
                    <div class="close-btn" id="closeDetail">
                        <i class="fas fa-times"></i>
                    </div>
                    <h2 class="detail-title" id="detailDay">10月3日</h2>
                    <div class="detail-subtitle">
                        <span id="detailDate">上海南汇 → 嵊泗岛</span>
                        <span id="detailTime">09:00开始</span>
                        <span id="detailLocation">沈家湾码头 → 嵊泗岛</span>
                    </div>
                </div>
                <div class="detail-body" id="detailBody">
                    <!-- 详细内容将由JavaScript填充 -->
                </div>
                <div class="detail-footer">
                    <div class="rating">
                        <i class="fas fa-star"></i>
                        <i class="fas fa-star"></i>
                        <i class="fas fa-star"></i>
                        <i class="fas fa-star"></i>
                        <i class="fas fa-star-half-alt"></i>
                        <span>行程强度：中等</span>
                    </div>
                    <a href="#" class="map-link" id="mapLink">
                        <i class="fas fa-map-marked-alt"></i> 查看地图位置
                    </a>
                </div>
            </div>
        </div>
        
        <div class="footer">
            <p>国庆嵊泗岛-崇明岛旅游行程 &copy; 2025 | 精心规划的海岛之旅</p>
            <p>温馨提示：国庆期间交通繁忙，请提前预订船票和住宿，并关注实时路况信息</p>
        </div>
    </div>

    <script>
        // 旅游计划数据
        const travelPlan = [
            {
                day: "10月3日",
                date: "上海南汇 → 嵊泗岛",
                time: "09:00开始",
                location: "沈家湾码头 → 嵊泗岛",
                activity: "从上海南汇自驾前往沈家湾码头，乘船抵达嵊泗岛，下午游览六井潭和和尚套，晚上品尝海鲜大餐",
                details: {
                    timeline: [
                        {
                            time: "09:00",
                            title: "从南汇自驾出发",
                            content: "前往沈家湾客运码头。国庆期间车流较大，正常车程约1小时，建议多留出30分钟缓冲。"
                        },
                        {
                            time: "10:30前",
                            title: "抵达沈家湾码头",
                            content: "停好车（费用约40-50元/天），准备乘船。"
                        },
                        {
                            time: "11:30左右",
                            title: "乘船前往嵊泗",
                            content: "航行约1-1.5小时，提前购买好船票。"
                        },
                        {
                            time: "13:00左右",
                            title: "抵达嵊泗李柱山码头",
                            content: "打车或乘公交前往预订的住宿（建议基湖沙滩或东海渔村区域），办理入住。"
                        },
                        {
                            time: "下午",
                            title: "东线游览",
                            content: "包车或打车游览六井潭和和尚套（购买联票），这里是观赏海景和悬崖的最佳地点。"
                        },
                        {
                            time: "晚上",
                            title: "东海渔村海鲜大餐",
                            content: "品尝海鲜大餐，欣赏夜景和特色壁画。"
                        }
                    ],
                    tips: [
                        "国庆期间车流量大，务必提前出发，预留充足时间",
                        "船票需提前在线购买，节假日船票紧张",
                        "岛上交通以出租车和包车为主，可提前联系好车辆",
                        "海鲜价格可能较平日高，建议先问清价格再点餐"
                    ],
                    map: "https://map.baidu.com/poi/沈家湾码头/@12958267.86,4839680.31,17z"
                }
            },
            {
                day: "10月4日",
                date: "嵊泗岛全天深度游玩",
                time: "全天",
                location: "嵊泗岛",
                activity: "上午游览基湖沙滩或南长涂沙滩，下午选择左岸公路骑行或大悲山登高望远，晚上购买特产",
                details: {
                    timeline: [
                        {
                            time: "上午",
                            title: "海滩游览",
                            content: "游览基湖沙滩或南长涂沙滩，享受海滨时光（10月以散步、拍照为主）。"
                        },
                        {
                            time: "下午",
                            title: "选择活动",
                            content: "选择A：租电动车或自行车骑行'左岸公路'，这是一条非常出片的沿海公路。<br>选择B：前往大悲山景区，俯瞰整个嵊泗本岛和姐妹沙滩的壮丽景色。"
                        },
                        {
                            time: "晚上",
                            title: "自由活动",
                            content: "在岛上闲逛，购买海鲜特产，为第二天转移做准备。"
                        },
                        {
                            time: "重要提醒",
                            title: "确认船票",
                            content: "务必确认已成功购买10月5日从嵊泗返回沈家湾的早班船票（建议购买8:00-9:00的船班）。"
                        }
                    ],
                    tips: [
                        "10月海水已凉，不适合游泳，但沙滩散步和拍照很惬意",
                        "左岸公路适合骑行，沿途风景优美，是拍照的好地方",
                        "大悲山视野开阔，是拍摄嵊泗全景的最佳地点",
                        "购买特产时注意保质期，海鲜干货是不错的选择"
                    ],
                    map: "https://map.baidu.com/poi/基湖沙滩/@12958267.86,4839680.31,17z"
                }
            },
            {
                day: "10月5日",
                date: "嵊泗岛 → 崇明岛",
                time: "07:00开始",
                location: "转移日",
                activity: "早上乘船返回沈家湾码头，取车后自驾前往崇明岛，下午游览西沙湿地或东平国家森林公园",
                details: {
                    timeline: [
                        {
                            time: "07:00",
                            title: "退房出发",
                            content: "退房，前往李柱山码头。"
                        },
                        {
                            time: "08:00左右",
                            title: "乘船离开嵊泗",
                            content: "乘船返回沈家湾码头。"
                        },
                        {
                            time: "09:30左右",
                            title: "抵达沈家湾码头",
                            content: "取车，准备自驾前往崇明岛。"
                        },
                        {
                            time: "09:45",
                            title: "自驾出发",
                            content: "导航至崇明岛预订的酒店。路线：S2沪芦高速 → 上海绕城高速 → G40沪陕高速（崇明方向）。"
                        },
                        {
                            time: "13:00前",
                            title: "抵达崇明岛",
                            content: "到酒店办理入住，稍作休整。"
                        },
                        {
                            time: "下午",
                            title: "选择游览",
                            content: "根据时间和精力，选择游玩一个景点：西沙湿地/明珠湖（适合下午散步，看夕阳）或东平国家森林公园（如果精力充沛，可以逛一部分）。"
                        },
                        {
                            time: "晚上",
                            title: "农家菜晚餐",
                            content: "在崇明岛品尝当地农家菜，好好休息。"
                        }
                    ],
                    tips: [
                        "国庆后期返程车流可能较多，请关注实时路况",
                        "崇明岛较大，景点分散，建议选择离住宿较近的景点游览",
                        "西沙湿地的夕阳很美，适合拍照",
                        "农家菜以本地食材为主，新鲜健康"
                    ],
                    map: "https://map.baidu.com/poi/西沙湿地/@12958267.86,4839680.31,17z"
                }
            },
            {
                day: "10月6日",
                date: "崇明岛 → 浦东机场",
                time: "上午",
                location: "返程日",
                activity: "上午轻松活动，中午出发前往浦东机场，搭乘13:40的航班返程",
                details: {
                    timeline: [
                        {
                            time: "上午",
                            title: "轻松活动",
                            content: "睡个懒觉，或在酒店附近轻松逛逛。可以前往崇明学宫（博物馆）或一条有特色的小路散步。"
                        },
                        {
                            time: "中午",
                            title: "午餐",
                            content: "在崇明岛享用午餐。"
                        },
                        {
                            time: "11:30前",
                            title: "出发去机场",
                            content: "最迟11:30必须从崇明岛酒店出发。路线：通过G40沪陕高速（长江大桥）直达浦东机场。"
                        },
                        {
                            time: "12:30-13:00",
                            title: "抵达浦东机场",
                            content: "抵达浦东机场停车场。办理值机、安检手续，时间绰绰有余。"
                        },
                        {
                            time: "13:40",
                            title: "航班起飞",
                            content: "搭乘航班返程，结束愉快的国庆之旅。"
                        }
                    ],
                    tips: [
                        "返程日不要安排太满的活动，以轻松为主",
                        "提前确认航班信息，预留充足时间前往机场",
                        "G40沪陕高速是连接崇明岛和市区的主要通道，路况一般较好",
                        "浦东机场较大，提前了解航站楼和值机柜台位置"
                    ],
                    map: "https://map.baidu.com/poi/上海浦东国际机场/@12958267.86,4839680.31,17z"
                }
            }
        ];

        // 生成计划卡片
        const planContainer = document.getElementById('planContainer');
        
        travelPlan.forEach((plan, index) => {
            const card = document.createElement('div');
            card.className = 'day-card';
            card.innerHTML = `
                <div class="card-header">
                    <div class="day-name">${plan.day}</div>
                    <div class="date">${plan.date}</div>
                </div>
                <div class="card-content">
                    <div class="location">${plan.location}</div>
                    <div class="time">${plan.time}</div>
                    <div class="activity">${plan.activity}</div>
                    <div class="view-details">点击查看详细攻略 →</div>
                </div>
            `;
            
            card.addEventListener('click', () => {
                showDetail(plan);
            });
            
            planContainer.appendChild(card);
        });

        // 显示详细攻略
        const detailOverlay = document.getElementById('detailOverlay');
        const closeBtn = document.getElementById('closeDetail');
        const detailDay = document.getElementById('detailDay');
        const detailDate = document.getElementById('detailDate');
        const detailTime = document.getElementById('detailTime');
        const detailLocation = document.getElementById('detailLocation');
        const detailBody = document.getElementById('detailBody');
        const mapLink = document.getElementById('mapLink');
        
        function showDetail(plan) {
            detailDay.textContent = plan.day;
            detailDate.textContent = plan.date;
            detailTime.textContent = plan.time;
            detailLocation.textContent = plan.location;
            
            // 生成时间线内容
            let timelineHTML = '';
            if (plan.details.timeline) {
                timelineHTML = `
                <div class="detail-section">
                    <div class="section-title">
                        <i class="fas fa-clock"></i>
                        <span>时间安排</span>
                    </div>
                    <div class="timeline">
                        ${plan.details.timeline.map(item => `
                            <div class="timeline-item">
                                <div class="timeline-time">${item.time}</div>
                                <div class="timeline-content">
                                    <h4>${item.title}</h4>
                                    <p>${item.content}</p>
                                </div>
                            </div>
                        `).join('')}
                    </div>
                </div>`;
            }
            
            detailBody.innerHTML = `
                ${timelineHTML}
                
                <div class="detail-section">
                    <div class="section-title">
                        <i class="fas fa-lightbulb"></i>
                        <span>实用贴士</span>
                    </div>
                    <ul class="tips-list">
                        ${plan.details.tips.map(t => `<li>${t}</li>`).join('')}
                    </ul>
                </div>
            `;
            
            mapLink.href = plan.details.map;
            detailOverlay.classList.add('active');
            document.body.style.overflow = 'hidden';
        }
        
        // 关闭详细攻略
        closeBtn.addEventListener('click', () => {
            detailOverlay.classList.remove('active');
            document.body.style.overflow = 'auto';
        });
        
        // 点击遮罩层关闭
        detailOverlay.addEventListener('click', (e) => {
            if (e.target === detailOverlay) {
                detailOverlay.classList.remove('active');
                document.body.style.overflow = 'auto';
            }
        });
    </script>
</body>
</html>